package ch10.demo.cn.cvs.utils;

import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

public class ConfigManager {
//    在类加载时即创建ConfigManager实例
    private static ConfigManager configManager=new ConfigManager();
    private static  Properties properties;
//    私有构方法 在构造方法中读取数据库配置文件
    private ConfigManager(){
        String configFile="datavase.properties";
        InputStream is=ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
        try{
            properties.load(is);
            is.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //饿汉模式
    public static ConfigManager getInstance(){
        return configManager;
    }
    public String getValue(String key){
        return properties.getProperty(key);
}

//    private static Properties properties;
//    private static ConfigManager configManager=null;
//    杜绝外界创建该类对象，私有构造方法
//    private ConfigManager(){
//        String configFile="database.properties";
//        properties=new Properties();
//        InputStream is=ConfigManager.class.getClassLoader().getResourceAsStream(configFile);
//        try{
//            properties.load(is);
//            is.close();
//        }catch (IOException e){
//            e.printStackTrace();
//        }
//    }
//    对外提供的获取ConfigManager示例的方法
//    public static ConfigManager getInstance(){
//        if (configManager==null){
//            configManager=new ConfigManager();
//        }
//        return configManager;
//    }
//public String getValue(String key){
//        return properties.getProperty(key);
//}
//    public static synchronized ConfigManager getInstance(){
//        if(configManager==null){
//            configManager=new ConfigManager();
//        }
//        return configManager;
//    }
}
